1. Technical Field:
The present invention relates in general to computer network communications and in particular to a method and apparatus for interconnecting multiple computer networks. Still more particularly, the present invention relates to a method and apparatus for interconnecting multiple computer networks while maintaining topological isolation between the networks.
2. Description of the Related Art:
Computer system networks continue to increase in popularity. That is, in large part, because such networks allow applications and users running on many different systems to communicate with each other, providing data and resource sharing. Networks may be limited to a desktop systems located in close physical proximity, or may include thousands of systems of all sizes connected in a worldwide network. In general, networks are flexible, so they may be adapted to suit the needs of their users.
One important type of computer network is referred to as a peer to peer network. With such a network topology each node of the network is considered to be equal with all other nodes. Each node may act as an intermediate node in a communications session, routing sessions between other network nodes. Such networks may also include terminal nodes, which are not required to transmit data between two separate, adjacent systems as part of a communications link between them. A communications session initiated by a node of the network is routed to the nearest node, which selects the routing to be used to the next node in a communications link. One example of such a powerful, flexible system is System Network Architecture (SNA), a network architecture defined by International Business Machines Corporation, and widely used throughout the world.
In a typical network, local networks, or subarea networks are often connected to the remainder of the network through a single, fully featured, network node. Such network nodes must have full routing and functional capability within the network, but terminal nodes, such as workstations, which are connected to a network node need not have such a capability. Even if only a few low end workstations in a single physical location are connected to a wide area network, a system capable of supporting full network node functions must typically be placed locally to allow such network access.
A full network node must be a relatively powerful system capable of supporting a wide variety of network functions. For example, an SNA network node must be capable of acting as an intermediate node in a session between two nodes which may be connected through a large number of additional intermediate nodes. The network node maintains a route selection table for many of the logical units in the network, and has the capability to search for and determine the location of any node within the network given its logical unit identifier. When a logical unit requests a session with another logical unit, a network node receiving such a request must locate the target logical unit, either in its route selection table, or by searching for it, and thereafter establish communication sessions with both the logical unit making the request and a companion session with another adjacent node. The other adjacent node may be the target logical unit, or it may be another intermediate node utilized to establish a link to the target logical unit.
Once a session has been set up between two logical units, the network node routes incoming data to the appropriate outgoing communications link. Various services are provided by the network node. These may include, for example, adaptive pacing of data, renegotiation of bind values, and similar services. The numerous functions required of a network node are well documented, and well known to those skilled in the art.
The complex functions and duties required of a network node give rise to a problem in the event it is desired to interconnect multiple peer-to-peer networks. The requirement that each network node within such a network have the ability to provide route selection, directory search processing and intermediate routing functions requires that each such network node maintain a topology database which specifies all interconnected nodes within the network. As a result, when it is desired to interconnect two networks, due to one enterprise taking over another enterprise, or one service provider providing services to many different networks, the desire to connect these two networks gives rise to a problem.
Currently, network nodes within a peer-to-peer network may establish connections only with other network nodes within the same network. This requirement was imposed due to the fact that a connection between network nodes from two different networks will necessitate a complete reestablishment of a topological database to specify all nodes within the combined networks. Additionally, since each logical unit within a network is required to maintain a unique identifier within that network, it is possible that two logical units in different networks may have an identical unique identifier.
In recognition of this problem current architecture systems permit limited connectivity between networks. Specifically, a network node from a first data processing network may be connected to an endpoint node with a different network identifier. This is permitted due to the fact that endpoint nodes do not maintain topological databases and it is only necessary to ensure that the endpoint node has a unique identifier for the network to which it is connected. Thus, modern peer-to-peer networks comprise multiple network nodes which may be interconnected with other network nodes only within the same network and with a plurality of endpoint nodes within any network. The limited capability of an endpoint node, having only local address capability, results in a limited amount of connectivity between two peer-to-peer networks.
In View of the above, it should be apparent that a need exits for a method of efficiently coupling multiple data processing networks together without incurring the administrative burden of maintaining a topological database for the entire merged database at each network node within the resultant merged database.